# d.clear()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
print(d)
d.clear()
print(d)

# d.copy()
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
print(d)
e = d.copy()
print(e)

d1 = {"key" : [1, 2, 3]}
print(d1)
d2 = d1.copy()
print(d2)
d2["key"].append(4)
print(d2)
print(d1)
print(d1["key"] is d2["key"])

# d.get(k, [x])
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
e = d.get("k2", 1337)
print(e)
e = d.get("k5", 1337)
print(e)
e = d.get("k5")
print(e)

# d.items()
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
for e in d.items():
    print(e)

# d.keys()
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
for e in d.keys():
    print(e)
for e in d:
    print(e)
list = list(d.keys())
print(list)

# d.pop(k)
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
e = d.pop("k1")
print(e)
print(d)
e = d.pop("k3")
print(e)
print(d)

# d.popitem()
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
e = d.popitem()
print(e)
print(d)

# d.setdefault(k, [x])
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
e = d.setdefault("k2", 1337)
print(e)
print(d)
e = d.setdefault("k5", 1337)
print(e)
print(d)

# d.update(d2)
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
d.update({"k4" : "v4"})
print(d)
d.update({"k1" : "python rulez", "k5" : "v5"})
print(d)

# d.values()
print()
d = {"k1" : "v1", "k2" : "v2", "k3" : "v3"}
for e in d.values():
    print(e)

# dict.fromkeys(seq, [value])
print()
d = dict.fromkeys([1, 2, 3], "python")
print(d)
d = dict.fromkeys([1, 2, 3])
print(d)